package com.example.aigc_education.service;

import com.example.aigc_education.domain.Theme;
import com.baomidou.mybatisplus.extension.service.IService;
import com.example.aigc_education.domain.request.*;
import com.example.aigc_education.domain.vo.*;

/**
* @author 23918
* @description 针对表【stu_theme(学习计划表)】的数据库操作Service
* @createDate 2024-11-03 22:18:22
*/
public interface ThemeService extends IService<Theme> {

    boolean addTheme(AddThemeRequest addThemeRequest);

    ThemeTreeVO showThemeTree(Long planId);

    boolean updateThemeStatus(SetThemeStatusRequest setThemeStatusRequest);

    boolean deleteTheme(Long themeId);


    boolean deleteThemeV2(Long themeId);

    void themeStudyTime(Long themeId, Integer status);

    ThemeStudyTimeVO getStudyInfo(Long themeId);

    AllThemeVO getAllThemeForPlan(Long planId);

    boolean updateThemeStatusV2(UpdateThemeStatusRequest updateThemeStatusRequest);

    AddThemeRespVO addThemeV2(AddThemeV2Request request);

    UpdateThemeTitleRespVO updateThemeTitle(UpdateThemeTitleRequest request);
}
